home *** CD-ROM | disk | FTP | other *** search
/ Czech Logic, Card & Gambling Games / Logické hry.iso / hry / Fish Fillets / script / gems / code.lua next >
Encoding:
Text File  |  2005-07-16  |  4.0 KB  |  127 lines

  1.  
  2. -- -----------------------------------------------------------------
  3. -- Init
  4. -- -----------------------------------------------------------------
  5. local function prog_init()
  6.     initModels()
  7.     sound_playMusic("music/rybky03.ogg")
  8.     local pokus = getRestartCount()
  9.     local roompole = createArray(2)
  10.  
  11.  
  12.     -- -------------------------------------------------------------
  13.     local function prog_init_room()
  14.         local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
  15.  
  16.         if pokus <= 1 then
  17.             roompole[1] = 0
  18.         else
  19.             roompole[1] = roompole[1] + 1
  20.         end
  21.         room.uz = 30 + random(20)
  22.  
  23.         return function()
  24.             if room.dir ~= dir_no then
  25.                 roompole[1] = 0
  26.             end
  27.             if game_getCycles() == room.uz and isReady(small) and isReady(big) then
  28.                 if roompole[1] > 4 then
  29.                     roompole[1] = -1
  30.                     addm(1, "zav-m-hrac")
  31.                     addv(9, "zav-v-zachranit")
  32.                     room.uz = room.uz + 222 + random(1111)
  33.                 else
  34.                     if roompole[1] > 0 then
  35.                         roompole[1] = roompole[1] - 1
  36.                     end
  37.                     pom1 = random(pokus + 1)
  38.                     if pom1 > 4 or roompole[1] == -1 then
  39.                         pom1 = random(3)
  40.                     end
  41.                     switch(pom1){
  42.                         [0] = function()
  43.                             addv(1, "zav-v-sto")
  44.                             if random(3) > 0 then
  45.                                 addv(6, "zav-v-trpyt")
  46.                             end
  47.                             if big.Y == big.YStart then
  48.                                 addm(9, "zav-m-pohnout")
  49.                             end
  50.                         end,
  51.                         [1] = function()
  52.                             addm(1, "zav-m-krasa")
  53.                             addv(9, "zav-v-venku")
  54.                         end,
  55.                         [2] = function()
  56.                             addv(1, "zav-v-zaval")
  57.                             addm(9, "zav-m-hopskok")
  58.                         end,
  59.                         [3] = function()
  60.                             addm(1, "zav-m-kameny")
  61.                             addv(9, "zav-v-zeleny")
  62.                         end,
  63.                         [4] = function()
  64.                             addv(1, "zav-v-restart")
  65.                             addm(8, "zav-m-pravda")
  66.                         end,
  67.                     }
  68.                     room.uz = room.uz + 666 + random(2222)
  69.                 end
  70.             end
  71.         end
  72.     end
  73.  
  74.     -- -------------------------------------------------------------
  75.     local function prog_init_drahokamy()
  76.         local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
  77.  
  78.         local gems = {}
  79.         for pom1 = 3, 111 do
  80.             local gem = getModelsTable()[pom1]
  81.             gems[pom1 - 3] = gem
  82.             gem.glob = -random(100)
  83.             gem.afaze = random(6) * 4
  84.             gem:updateAnim()
  85.         end
  86.  
  87.         return function()
  88.             for key, gem in gems do
  89.                 gem.glob = gem.glob + 1
  90.                 if isIn(gem.glob, {1, 2, 3}) then
  91.                     gem.afaze = gem.afaze + 1
  92.                 elseif isIn(gem.glob, {4, 5, 6}) then
  93.                     gem.afaze = gem.afaze - 1
  94.                 elseif gem.glob == 7 then
  95.                     gem.glob = -random(100) - 10
  96.                 end
  97.                 gem:updateAnim()
  98.             end
  99.         end
  100.     end
  101.  
  102.     -- --------------------
  103.     local update_table = {}
  104.     local subinit
  105.     subinit = prog_init_room()
  106.     if subinit then
  107.         table.insert(update_table, subinit)
  108.     end
  109.     subinit = prog_init_drahokamy()
  110.     if subinit then
  111.         table.insert(update_table, subinit)
  112.     end
  113.     return update_table
  114. end
  115. local update_table = prog_init()
  116.  
  117.  
  118. -- -----------------------------------------------------------------
  119. -- Update
  120. -- -----------------------------------------------------------------
  121. function prog_update()
  122.     for key, subupdate in pairs(update_table) do
  123.         subupdate()
  124.     end
  125. end
  126.  
  127.